package com.icinfo.wanandroid.base.presenter;

import com.icinfo.wanandroid.base.view.AbstractView;

import io.reactivex.disposables.Disposable;

/**
 * Author: 胡高建
 * Comment: //TODO
 * Date: 2019-07-23 16:54
 */
public interface AbstractPresnter<T extends AbstractView> {

    /**
     * 注入View
     *
     * @param view
     */
    void attachView(T view);

    /**
     * 解绑view
     */
    void detachView();

    /**
     * 添加Rxbing订阅管理器
     *
     * @param disposable
     */
    void addRxBindingSubscribe(Disposable disposable);

    /**
     * 是否是夜间模式
     *
     * @return
     */
    boolean getNightModeState();

    /**
     * 设置登录状态
     *
     * @param loginStatus
     */
    void setLoginStatus(boolean loginStatus);

    /**
     * 获取登录状态
     */
    void getLoginStatus();

    /**
     * 设置登录账号
     *
     * @param account
     */
    void setLoginAccount(String account);

    /**
     * 设置登录密码
     *
     * @param password
     */
    void setLoginPassword(String password);

    /**
     * 获取当前页
     *
     * @return
     */
    int getCurrentPage();
}
